package com.guoj.rabbitmq.service;

import com.guoj.rabbitmq.entity.BrokerMessageLog;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author guoj
 * @since 2019-05-31
 */
public interface IBrokerMessageLogService extends IService<BrokerMessageLog> {
	/**
	 * 查询消息状态为0(发送中) 且已经超时的消息集合
	 */
	public List<BrokerMessageLog> query4StatusAndTimeoutMessage();

	/**
	 * 更新最终消息发送结果 成功 or 失败
	 */
	public void changeBrokerMessageLogStatus(String messageId, String status);

	/**
	 * 重新发送统计count发送次数 +1
	 */
	public void update4ReSend(BrokerMessageLog messageLog, LocalDateTime now);
}
